MEMORY {    
	ZP:  start = $0002, size = $001a, type = rw, define = yes;
	LORAM: start = $0340, size = $04c0, fill=no;
  RAM:  start = $07ff, size = $c001, define=yes, fill=no;
  HIRAM:  start = $c800, size = $2000, define=yes, fill=no;
}

SEGMENTS {
  ZEROPAGE: load = ZP, type = zp, define = yes;	
  STARTSCRN: load = LORAM, start=$400,type = bss, define=yes;
  STARTUP: load = RAM, type = ro;
	RODATA: load = RAM, type = ro, define = yes;
 	INIT:   load = RAM, type = ro, define = yes, optional = yes;
	CODE2:  load = RAM, start=$0b00, type = ro, define = yes;
	MUSIC: load = RAM, start = $1000, type = ro, define = yes;
  DATA:   load = RAM, type = rw, define = yes;
  CODE:   load = RAM, type = ro;
	LOGOBITMAP: load = RAM, type = ro, define = yes;
	PICSCRN: load = RAM,  type = ro, define = yes;
	PICBITMAP: load = RAM, type = ro, define = yes;
	BSS:    load = RAM, type = bss, define = yes;
	HEAP: load = RAM,type = bss, define=yes, optional=yes;
	SCRN1: load = HIRAM, start= $c800, type = bss, define = yes;
	SCRN2: load = HIRAM, start= $cc00, type = bss, define = yes;
	CHARSET: load = HIRAM, start = $d800, type = bss, define = yes;
	BITMAP: load = HIRAM, start=$E000, type = bss, define = yes;
}

FEATURES {
  CONDES: segment = INIT,
	  type = constructor,
	  label = __CONSTRUCTOR_TABLE__,
	  count = __CONSTRUCTOR_COUNT__;
  CONDES: segment = RODATA,
	  type = destructor,
	  label = __DESTRUCTOR_TABLE__,
	  count = __DESTRUCTOR_COUNT__;
  CONDES: segment = RODATA,
	  type = interruptor,
	  label = __INTERRUPTOR_TABLE__,
	  count = __INTERRUPTOR_COUNT__;
}
SYMBOLS {
  __STACKSIZE__ = $100;	# 0,25K stack
}